import { NgModule } from '@angular/core';
import {CommonModule, DatePipe} from '@angular/common';
import { DemoNgZorroAntdModule } from '../../NG-ZORRO/ng-zorro-antd.module';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { NzIconModule } from 'ng-zorro-antd/icon';
import { AlertFill } from '@ant-design/icons-angular/icons';
import { sharedModule } from '../../sharedModule/shared.module';
import { IconDefinition } from '@ant-design/icons-angular';
const icons: IconDefinition[] = [AlertFill];

import { StorageManageRoutingModule } from './storage-manage-routing.module';
import {
  StoreSncodeStatusPipe,
  StoreBillTypePipe,
  StorePutStatusPipe,
  StorageDeliveryMethodPipe,
  StoreOutStatusPipe,
  StorageLineStatePipe,
  StoragePurchaseStatePipe,
  StorageAllocationStatePipe
} from './xstorage-manage-pipes/storage-manage-z.pipe';

const pipeArrs = [
  StoreSncodeStatusPipe,
  StoreBillTypePipe,
  StorePutStatusPipe,
  StorageDeliveryMethodPipe,
  StoreOutStatusPipe,
  StorageLineStatePipe,
  StoragePurchaseStatePipe,
  StorageAllocationStatePipe
];

import { StorageStockWarehouseComponent } from './stock-manage-pages/storage-stock-warehouse/storage-stock-warehouse.component';
import { StorageStockLocationComponent } from './stock-manage-pages/storage-stock-location/storage-stock-location.component';
import { StorageStockSncodeComponent } from './stock-manage-pages/storage-stock-sncode/storage-stock-sncode.component';
import { StorageStockPutdetailedComponent } from './stock-manage-pages/storage-stock-putdetailed/storage-stock-putdetailed.component';
import { StorageWarehousListComponent } from './warehous-manage-pages/storage-warehous-list/storage-warehous-list.component';
import { StorageWarehousEditcgComponent } from './warehous-manage-pages/storage-warehous-editcg/storage-warehous-editcg.component';
import { StorageWarehousEditptComponent } from './warehous-manage-pages/storage-warehous-editpt/storage-warehous-editpt.component';
import { StorageWarehousSeeComponent } from './warehous-manage-pages/storage-warehous-see/storage-warehous-see.component';
import { StorageWarehousOperationComponent } from './warehous-manage-pages/storage-warehous-operation/storage-warehous-operation.component';
import { StorageWarehousHandleComponent } from './warehous-manage-pages/storage-warehous-handle/storage-warehous-handle.component';
import { StorageExwarehousListComponent } from './exwarehous-manage-pages/storage-exwarehous-list/storage-exwarehous-list.component';
import { StorageExwarehousEditComponent } from './exwarehous-manage-pages/storage-exwarehous-edit/storage-exwarehous-edit.component';
import { StorageExwarehousDetailsComponent } from './exwarehous-manage-pages/storage-exwarehous-details/storage-exwarehous-details.component';
import { StorageExwarehousOperationComponent } from './exwarehous-manage-pages/storage-exwarehous-operation/storage-exwarehous-operation.component';
import { StorageExwarehousHandleComponent } from './exwarehous-manage-pages/storage-exwarehous-handle/storage-exwarehous-handle.component';
import { StorageTransferListComponent } from './transfer-order-manage-pages/storage-transfer-list/storage-transfer-list.component';
import { StorageTransferEditComponent } from './transfer-order-manage-pages/storage-transfer-edit/storage-transfer-edit.component';
import { StorageTransferDetailsComponent } from './transfer-order-manage-pages/storage-transfer-details/storage-transfer-details.component';
import { StorageTransferHandleOutComponent } from './transfer-order-manage-pages/storage-transfer-handle-out/storage-transfer-handle-out.component';
import { StorageTransferHandlePutComponent } from './transfer-order-manage-pages/storage-transfer-handle-put/storage-transfer-handle-put.component';
import { StorageTransferHandleListComponent } from './transfer-order-manage-pages/storage-transfer-handle-list/storage-transfer-handle-list.component';
import {WarehouseComponent} from './p/warehouse/warehouse/warehouse.component';
import {StorageLocationManageComponent} from './p/warehouse/storage-location-manage/storage-location-manage.component';
import {CommodityBrandComponent} from './p/commodity/commodity-brand/commodity-brand.component';
import {CommodityCategoryComponent} from './p/commodity/commodity-category/commodity-category.component';
import {CommodityInfoComponent} from './p/commodity/commodity-info/commodity-info.component';
import { CommodityAddComponent } from './p/commodity/commodity-info/commodity-add/commodity-add.component';
import { StorageSelectBomComponent } from './components/storage-select-bom/storage-select-bom.component';
import { SninfoSelectModalComponent } from './components/sninfo-select-modal/sninfo-select-modal.component';
import { PurchaseOrderListComponent } from './p/purchaseOrder/purchase-order-list/purchase-order-list.component';
import { StoragePurchaseListComponent } from './purchase-order-manage-pages/storage-purchase-list/storage-purchase-list.component';
import { StoragePurchaseEditComponent } from './purchase-order-manage-pages/storage-purchase-edit/storage-purchase-edit.component';
import { StoragePurchaseDetailsComponent } from './purchase-order-manage-pages/storage-purchase-details/storage-purchase-details.component';

@NgModule({
  declarations: [
    ...pipeArrs,
    StorageStockWarehouseComponent,
    StorageStockLocationComponent,
    StorageStockSncodeComponent,
    StorageStockPutdetailedComponent,
    StorageWarehousListComponent,
    StorageWarehousEditcgComponent,
    StorageWarehousEditptComponent,
    StorageWarehousSeeComponent,
    StorageWarehousOperationComponent,
    StorageWarehousHandleComponent,
    StorageExwarehousListComponent,
    StorageExwarehousEditComponent,
    StorageExwarehousDetailsComponent,
    StorageExwarehousOperationComponent,
    StorageExwarehousHandleComponent,
    StorageTransferListComponent,
    StorageTransferEditComponent,
    StorageTransferDetailsComponent,
    StorageTransferHandleOutComponent,
    StorageTransferHandlePutComponent,
    StorageTransferHandleListComponent,
    WarehouseComponent,
    StorageLocationManageComponent,
    CommodityBrandComponent,
    CommodityCategoryComponent,
    CommodityInfoComponent,
    CommodityAddComponent,
    StorageSelectBomComponent,
    PurchaseOrderListComponent,
    SninfoSelectModalComponent,
    StoragePurchaseListComponent,
    StoragePurchaseEditComponent,
    StoragePurchaseDetailsComponent,
  ],
  imports: [
    CommonModule,
    DemoNgZorroAntdModule,
    FormsModule,
    ReactiveFormsModule,
    NzIconModule.forRoot(icons),
    StorageManageRoutingModule,
    sharedModule
  ],
  providers: [DatePipe]
})
export class StorageManageModule { }
